using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ReportBuilder")]
	public class ReportBuilder : MonoClass
	{
		public static int HEARTHSTONE_PROJECT_ID => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ReportBuilder", "HEARTHSTONE_PROJECT_ID");

		public string Description => method_13("get_Description");

		public string StackTrace => method_13("get_StackTrace");

		public string Hash => method_13("get_Hash");

		public string Markup => method_13("get_Markup");

		public string ScreenshotPath => method_13("get_ScreenshotPath");

		public string EnteredBy => method_13("get_EnteredBy");

		public string Steps => method_13("get_Steps");

		public bool CaptureScreenshot => method_11<bool>("get_CaptureScreenshot", Array.Empty<object>());

		public bool CaptureLogs => method_11<bool>("get_CaptureLogs", Array.Empty<object>());

		public bool CaptureConfig => method_11<bool>("get_CaptureConfig", Array.Empty<object>());

		public bool CaptureScene => method_11<bool>("get_CaptureScene", Array.Empty<object>());

		public int SizeLimit => method_11<int>("get_SizeLimit", Array.Empty<object>());

		public ReportBuilder(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ReportBuilder(IntPtr address)
			: this(address, "ReportBuilder")
		{
		}

		public static ReportBuilder BuildExceptionReport(string description, string stackTrace)
		{
			return MonoClass.smethod_15<ReportBuilder>(TritonHs.MainAssemblyPath, "", "ReportBuilder", "BuildExceptionReport", new object[2] { description, stackTrace });
		}

		public static ReportBuilder BuildBugReport(string description)
		{
			return MonoClass.smethod_15<ReportBuilder>(TritonHs.MainAssemblyPath, "", "ReportBuilder", "BuildBugReport", new object[1] { description });
		}

		public static string CreateHash(string blob)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "ReportBuilder", "CreateHash", blob);
		}

		public static string CreateEscapedSGML(string blob)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "ReportBuilder", "CreateEscapedSGML", blob);
		}

		public void BuildExceptionMarkup()
		{
			method_8("BuildExceptionMarkup");
		}

		public void FinalizeBugMarkup()
		{
			method_8("FinalizeBugMarkup");
		}
	}
}
